home *** CD-ROM | disk | FTP | other *** search
-
- /* (C) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved. */
- #include <cmpinclude.h>
- #include "numlib.h"
- init_numlib(start,size,data)char *start;int size;object data;
- { register object *base=vs_top;register object *sup=base+VM2;vs_check;
- Cstart=start;Csize=size;Cdata=data;set_VV(VV,VM1,data);
- base[0]= VV[0];
- (void)simple_symlispcall_no_event(VV[24],base+0,1);
- base[0]= VV[1];
- base[1]= VV[2];
- (void)simple_symlispcall_no_event(VV[25],base+0,2);
- MF(VV[26],L4,start,size,data);
- MF(VV[27],L5,start,size,data);
- MF(VV[28],L6,start,size,data);
- MF(VV[29],L7,start,size,data);
- data->v.v_self[7]=VV[7]=string_to_object(VV[7]);
- vs_top=sup;
- MF(VV[30],L8,start,size,data);
- MF(VV[31],L9,start,size,data);
- MF(VV[32],L10,start,size,data);
- MF(VV[33],L11,start,size,data);
- MF(VV[34],L12,start,size,data);
- MF(VV[35],L13,start,size,data);
- MF(VV[36],L14,start,size,data);
- MF(VV[37],L15,start,size,data);
- MF(VV[38],L16,start,size,data);
- MF(VV[12],L17,start,size,data);
- MF(VV[39],L18,start,size,data);
- MF(VV[40],L19,start,size,data);
- MF(VV[41],L20,start,size,data);
- MF(VV[42],L21,start,size,data);
- MF(VV[43],L22,start,size,data);
- MF(VV[44],L23,start,size,data);
- MF(VV[45],L24,start,size,data);
- MF(VV[46],L25,start,size,data);
- MF(VV[47],L26,start,size,data);
- MF(VV[48],L27,start,size,data);
- MF(VV[49],L28,start,size,data);
- MF(VV[50],L29,start,size,data);
- MF(VV[51],L30,start,size,data);
- MF(VV[52],L31,start,size,data);
- MF(VV[53],L32,start,size,data);
- MF(VV[54],L33,start,size,data);
- MF(VV[55],L34,start,size,data);
- MF(VV[56],L35,start,size,data);
- MF(VV[57],L36,start,size,data);
- MF(VV[58],L37,start,size,data);
- MF(VV[59],L38,start,size,data);
- MF(VV[60],L39,start,size,data);
- vs_top=vs_base=base;
- }
- /* function definition for ISQRT */
-
- static L4()
- { register object *base=vs_base;
- register object *sup=base+VM3;
- vs_reserve(VM3);
- check_arg(1);
- vs_top=sup;
- TTL:;
- if(!(type_of(base[0])==t_fixnum||type_of(base[0])==t_bignum)){
- goto T8;}
- if(number_compare(base[0],VV[3])>=0){
- goto T7;}
- T8:;
- base[1]= VV[4];
- base[2]= base[0];
- vs_top=(vs_base=base+1)+2;
- Lerror();
- vs_top=sup;
- T7:;
- if(!(number_compare(small_fixnum(0),base[0])==0)){
- goto T15;}
- base[1]= VV[3];
- vs_top=(vs_base=base+1)+1;
- return;
- T15:;
- base[2]= base[0];
- vs_top=(vs_base=base+2)+1;
- Linteger_length();
- vs_top=sup;
- base[1]= vs_base[0];
- base[4]= VV[5];
- base[6]= base[1];
- base[7]= VV[6];
- vs_top=(vs_base=base+6)+2;
- Lceiling();
- vs_top=sup;
- base[5]= vs_base[0];
- vs_top=(vs_base=base+4)+2;
- Lash();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= Cnil;
- T25:;
- base[4]= base[0];
- base[5]= base[2];
- vs_top=(vs_base=base+4)+2;
- Lfloor();
- vs_top=sup;
- base[3]= vs_base[0];
- if(!(number_compare(base[2],base[3])<=0)){
- goto T32;}
- vs_top=(vs_base=base+2)+1;
- return;
- T32:;
- base[4]= number_plus(base[2],base[3]);
- base[5]= VV[6];
- vs_top=(vs_base=base+4)+2;
- Lfloor();
- vs_top=sup;
- base[2]= vs_base[0];
- goto T25;
- }
- /* function definition for ABS */
-
- static L5()
- { register object *base=vs_base;
- register object *sup=base+VM4;
- vs_reserve(VM4);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[1]= base[0];
- vs_top=(vs_base=base+1)+1;
- Lcomplexp();
- vs_top=sup;
- if((vs_base[0])==Cnil){
- goto T42;}
- base[3]= base[0];
- vs_top=(vs_base=base+3)+1;
- Lrealpart();
- vs_top=sup;
- base[2]= vs_base[0];
- base[4]= base[0];
- vs_top=(vs_base=base+4)+1;
- Lrealpart();
- vs_top=sup;
- base[3]= vs_base[0];
- base[4]= number_times(base[2],base[3]);
- base[6]= base[0];
- vs_top=(vs_base=base+6)+1;
- Limagpart();
- vs_top=sup;
- base[5]= vs_base[0];
- base[7]= base[0];
- vs_top=(vs_base=base+7)+1;
- Limagpart();
- vs_top=sup;
- base[6]= vs_base[0];
- base[7]= number_times(base[5],base[6]);
- base[1]= number_plus(base[4],base[7]);
- vs_top=(vs_base=base+1)+1;
- Lsqrt();
- return;
- T42:;
- if(!(number_compare(small_fixnum(0),base[0])>0)){
- goto T55;}
- base[1]= number_negate(base[0]);
- vs_top=(vs_base=base+1)+1;
- return;
- T55:;
- vs_top=(vs_base=base+0)+1;
- return;
- }
- /* function definition for PHASE */
-
- static L6()
- { register object *base=vs_base;
- register object *sup=base+VM5;
- vs_reserve(VM5);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[2]= base[0];
- vs_top=(vs_base=base+2)+1;
- Limagpart();
- vs_top=sup;
- base[1]= vs_base[0];
- base[3]= base[0];
- vs_top=(vs_base=base+3)+1;
- Lrealpart();
- vs_top=sup;
- base[2]= vs_base[0];
- vs_top=(vs_base=base+1)+2;
- Latan();
- return;
- }
- /* function definition for SIGNUM */
-
- static L7()
- { register object *base=vs_base;
- register object *sup=base+VM6;
- vs_reserve(VM6);
- check_arg(1);
- vs_top=sup;
- TTL:;
- if(!(number_compare(small_fixnum(0),base[0])==0)){
- goto T62;}
- vs_top=(vs_base=base+0)+1;
- return;
- T62:;
- base[1]= base[0];
- base[3]= base[0];
- vs_top=(vs_base=base+3)+1;
- L5();
- vs_top=sup;
- base[2]= vs_base[0];
- vs_top=(vs_base=base+1)+2;
- Ldivide();
- return;
- }
- /* function definition for CIS */
-
- static L8()
- { register object *base=vs_base;
- register object *sup=base+VM7;
- vs_reserve(VM7);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[1]= number_times(VV[7],base[0]);
- vs_top=(vs_base=base+1)+1;
- Lexp();
- return;
- }
- /* function definition for ASIN */
-
- static L9()
- { register object *base=vs_base;
- register object *sup=base+VM8;
- vs_reserve(VM8);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[4]= number_times(VV[7],base[0]);
- base[7]= number_times(base[0],base[0]);
- base[6]= number_minus(VV[8],base[7]);
- vs_top=(vs_base=base+6)+1;
- Lsqrt();
- vs_top=sup;
- base[5]= vs_base[0];
- base[3]= number_plus(base[4],base[5]);
- vs_top=(vs_base=base+3)+1;
- Llog();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= number_times(VV[7],base[2]);
- base[1]= number_negate(base[3]);
- base[2]= base[0];
- vs_top=(vs_base=base+2)+1;
- Lcomplexp();
- vs_top=sup;
- if((vs_base[0])!=Cnil){
- goto T74;}
- base[3]= base[1];
- vs_top=(vs_base=base+3)+1;
- Limagpart();
- vs_top=sup;
- base[2]= vs_base[0];
- if(!(number_compare(small_fixnum(0),base[2])==0)){
- goto T74;}
- base[2]= base[1];
- vs_top=(vs_base=base+2)+1;
- Lrealpart();
- return;
- T74:;
- vs_top=(vs_base=base+1)+1;
- return;
- }
- /* function definition for ACOS */
-
- static L10()
- { register object *base=vs_base;
- register object *sup=base+VM9;
- vs_reserve(VM9);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[6]= number_times(base[0],base[0]);
- base[5]= number_minus(VV[8],base[6]);
- vs_top=(vs_base=base+5)+1;
- Lsqrt();
- vs_top=sup;
- base[4]= vs_base[0];
- base[5]= number_times(VV[7],base[4]);
- base[3]= number_plus(base[0],base[5]);
- vs_top=(vs_base=base+3)+1;
- Llog();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= number_times(VV[7],base[2]);
- base[1]= number_negate(base[3]);
- base[2]= base[0];
- vs_top=(vs_base=base+2)+1;
- Lcomplexp();
- vs_top=sup;
- if((vs_base[0])!=Cnil){
- goto T88;}
- base[3]= base[1];
- vs_top=(vs_base=base+3)+1;
- Limagpart();
- vs_top=sup;
- base[2]= vs_base[0];
- if(!(number_compare(small_fixnum(0),base[2])==0)){
- goto T88;}
- base[2]= base[1];
- vs_top=(vs_base=base+2)+1;
- Lrealpart();
- return;
- T88:;
- vs_top=(vs_base=base+1)+1;
- return;
- }
- /* function definition for SINH */
-
- static L11()
- { register object *base=vs_base;
- register object *sup=base+VM10;
- vs_reserve(VM10);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[3]= base[0];
- vs_top=(vs_base=base+3)+1;
- Lexp();
- vs_top=sup;
- base[2]= vs_base[0];
- base[4]= number_negate(base[0]);
- vs_top=(vs_base=base+4)+1;
- Lexp();
- vs_top=sup;
- base[3]= vs_base[0];
- base[1]= number_minus(base[2],base[3]);
- base[2]= VV[9];
- vs_top=(vs_base=base+1)+2;
- Ldivide();
- return;
- }
- /* function definition for COSH */
-
- static L12()
- { register object *base=vs_base;
- register object *sup=base+VM11;
- vs_reserve(VM11);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[3]= base[0];
- vs_top=(vs_base=base+3)+1;
- Lexp();
- vs_top=sup;
- base[2]= vs_base[0];
- base[4]= number_negate(base[0]);
- vs_top=(vs_base=base+4)+1;
- Lexp();
- vs_top=sup;
- base[3]= vs_base[0];
- base[1]= number_plus(base[2],base[3]);
- base[2]= VV[9];
- vs_top=(vs_base=base+1)+2;
- Ldivide();
- return;
- }
- /* function definition for TANH */
-
- static L13()
- { register object *base=vs_base;
- register object *sup=base+VM12;
- vs_reserve(VM12);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[2]= base[0];
- vs_top=(vs_base=base+2)+1;
- L11();
- vs_top=sup;
- base[1]= vs_base[0];
- base[3]= base[0];
- vs_top=(vs_base=base+3)+1;
- L12();
- vs_top=sup;
- base[2]= vs_base[0];
- vs_top=(vs_base=base+1)+2;
- Ldivide();
- return;
- }
- /* function definition for ASINH */
-
- static L14()
- { register object *base=vs_base;
- register object *sup=base+VM13;
- vs_reserve(VM13);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[4]= number_times(base[0],base[0]);
- base[3]= number_plus(VV[8],base[4]);
- vs_top=(vs_base=base+3)+1;
- Lsqrt();
- vs_top=sup;
- base[2]= vs_base[0];
- base[1]= number_plus(base[0],base[2]);
- vs_top=(vs_base=base+1)+1;
- Llog();
- return;
- }
- /* function definition for ACOSH */
-
- static L15()
- { register object *base=vs_base;
- register object *sup=base+VM14;
- vs_reserve(VM14);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[2]= one_plus(base[0]);
- base[5]= one_minus(base[0]);
- base[6]= one_plus(base[0]);
- vs_top=(vs_base=base+5)+2;
- Ldivide();
- vs_top=sup;
- base[4]= vs_base[0];
- vs_top=(vs_base=base+4)+1;
- Lsqrt();
- vs_top=sup;
- base[3]= vs_base[0];
- base[4]= number_times(base[2],base[3]);
- base[1]= number_plus(base[0],base[4]);
- vs_top=(vs_base=base+1)+1;
- Llog();
- return;
- }
- /* function definition for ATANH */
-
- static L16()
- { register object *base=vs_base;
- register object *sup=base+VM15;
- vs_reserve(VM15);
- check_arg(1);
- vs_top=sup;
- TTL:;
- if(number_compare(base[0],VV[8])==0){
- goto T121;}
- if(!(number_compare(base[0],VV[10])==0)){
- goto T120;}
- T121:;
- base[1]= VV[11];
- base[2]= base[0];
- vs_top=(vs_base=base+1)+2;
- Lerror();
- vs_top=sup;
- T120:;
- base[2]= one_plus(base[0]);
- base[5]= number_times(base[0],base[0]);
- base[4]= number_minus(VV[8],base[5]);
- vs_top=(vs_base=base+4)+1;
- Lsqrt();
- vs_top=sup;
- base[3]= vs_base[0];
- vs_top=(vs_base=base+2)+2;
- Ldivide();
- vs_top=sup;
- base[1]= vs_base[0];
- vs_top=(vs_base=base+1)+1;
- Llog();
- return;
- }
- /* function definition for RATIONAL */
-
- static L17()
- { register object *base=vs_base;
- register object *sup=base+VM16;
- vs_reserve(VM16);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[2]= base[0];
- vs_top=(vs_base=base+2)+1;
- Linteger_decode_float();
- Llist();
- vs_top=sup;
- base[1]= vs_base[0];
- base[2]= car(base[1]);
- base[3]= cadr(base[1]);
- base[4]= caddr(base[1]);
- if(!(number_compare(base[4],VV[3])>=0)){
- goto T138;}
- base[6]= base[0];
- vs_top=(vs_base=base+6)+1;
- Lfloat_radix();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= number_expt(base[5],base[3]);
- base[7]= number_times(base[2],base[6]);
- vs_top=(vs_base=base+7)+1;
- return;
- T138:;
- base[6]= base[0];
- vs_top=(vs_base=base+6)+1;
- Lfloat_radix();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= number_expt(base[5],base[3]);
- base[7]= number_times(base[2],base[6]);
- base[8]= number_negate(base[7]);
- vs_top=(vs_base=base+8)+1;
- return;
- }
- /* function definition for RATIONALIZE */
-
- static L18()
- { register object *base=vs_base;
- register object *sup=base+VM17;
- vs_reserve(VM17);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[2]= base[0];
- base[3]= VV[12];
- if((simple_symlispcall_no_event(VV[61],base+2,2))==Cnil){
- goto T145;}
- vs_top=(vs_base=base+0)+1;
- return;
- T145:;
- base[2]= base[0];
- base[3]= VV[13];
- if((simple_symlispcall_no_event(VV[61],base+2,2))==Cnil){
- goto T150;}
- base[2]= base[0];
- base[3]= VV[14];
- vs_top=(vs_base=base+2)+2;
- L19();
- return;
- T150:;
- base[2]= base[0];
- base[3]= VV[15];
- if((simple_symlispcall_no_event(VV[61],base+2,2))==Cnil){
- goto T157;}
- base[2]= base[0];
- base[3]= VV[16];
- vs_top=(vs_base=base+2)+2;
- L19();
- return;
- T157:;
- base[2]= VV[17];
- base[3]= base[0];
- vs_top=(vs_base=base+2)+2;
- Lerror();
- return;
- }
- /* function definition for RATIONALIZE-FLOAT */
-
- static L19()
- { register object *base=vs_base;
- register object *sup=base+VM18;
- vs_reserve(VM18);
- check_arg(2);
- vs_top=sup;
- TTL:;
- if(!(number_compare(small_fixnum(0),base[0])>0)){
- goto T166;}
- base[3]= number_negate(base[0]);
- vs_top=(vs_base=base+3)+1;
- L18();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= number_negate(base[2]);
- vs_top=(vs_base=base+3)+1;
- return;
- T166:;
- if(!(number_compare(small_fixnum(0),base[0])==0)){
- goto T171;}
- base[2]= VV[3];
- vs_top=(vs_base=base+2)+1;
- return;
- T171:;
- base[2]= Cnil;
- base[3]= Cnil;
- base[9]= base[0];
- vs_top=(vs_base=base+9)+1;
- Ltruncate();
- vs_top=sup;
- base[3]= vs_base[0];
- base[5]= base[3];
- base[4]= base[0];
- base[6]= VV[5];
- base[7]= VV[5];
- base[8]= VV[3];
- T177:;
- if(number_compare(small_fixnum(0),base[6])==0){
- goto T178;}
- base[14]= base[5];
- base[15]= base[0];
- vs_top=(vs_base=base+14)+2;
- Lfloat();
- vs_top=sup;
- base[13]= vs_base[0];
- base[15]= base[6];
- base[16]= base[0];
- vs_top=(vs_base=base+15)+2;
- Lfloat();
- vs_top=sup;
- base[14]= vs_base[0];
- vs_top=(vs_base=base+13)+2;
- Ldivide();
- vs_top=sup;
- base[12]= vs_base[0];
- base[11]= number_minus(base[0],base[12]);
- base[12]= base[0];
- vs_top=(vs_base=base+11)+2;
- Ldivide();
- vs_top=sup;
- base[10]= vs_base[0];
- vs_top=(vs_base=base+10)+1;
- L5();
- vs_top=sup;
- base[9]= vs_base[0];
- if(number_compare(base[9],base[1])>0){
- goto T178;}
- base[9]= base[5];
- base[10]= base[6];
- vs_top=(vs_base=base+9)+2;
- Ldivide();
- return;
- T178:;
- base[9]= VV[8];
- base[12]= base[3];
- base[13]= base[0];
- vs_top=(vs_base=base+12)+2;
- Lfloat();
- vs_top=sup;
- base[11]= vs_base[0];
- base[10]= number_minus(base[4],base[11]);
- vs_top=(vs_base=base+9)+2;
- Ldivide();
- vs_top=sup;
- base[2]= vs_base[0];
- base[4]= base[2];
- base[11]= base[2];
- vs_top=(vs_base=base+11)+1;
- Ltruncate();
- vs_top=sup;
- base[3]= vs_base[0];
- base[10]= base[3];
- base[11]= number_times(base[10],base[5]);
- base[9]= number_plus(base[11],base[7]);
- base[11]= number_times(base[3],base[6]);
- base[10]= number_plus(base[11],base[8]);
- base[7]= base[5];
- base[8]= base[6];
- base[6]= base[10];
- base[5]= base[9];
- goto T177;
- }
- /* function definition for FFLOOR */
-
- static L20()
- { register object *base=vs_base;
- register object *sup=base+VM19;
- vs_reserve(VM19);
- if(vs_top-vs_base<1) too_few_arguments();
- if(vs_top-vs_base>2) too_many_arguments();
- vs_base=vs_base+1;
- if(vs_base>=vs_top){vs_top=sup;goto T213;}
- vs_top=sup;
- goto T214;
- T213:;
- base[1]= VV[8];
- T214:;
- base[4]= base[0];
- vs_top=(vs_base=base+4)+1;
- Lfloat();
- vs_top=sup;
- base[3]= vs_base[0];
- base[5]= base[1];
- vs_top=(vs_base=base+5)+1;
- Lfloat();
- vs_top=sup;
- base[4]= vs_base[0];
- vs_top=(vs_base=base+3)+2;
- Lfloor();
- Llist();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= car(base[2]);
- base[4]= cadr(base[2]);
- base[6]= base[3];
- base[7]= base[4];
- vs_top=(vs_base=base+6)+2;
- Lfloat();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= base[4];
- vs_base=base+5;vs_top=base+7;
- return;
- }
- /* function definition for FCEILING */
-
- static L21()
- { register object *base=vs_base;
- register object *sup=base+VM20;
- vs_reserve(VM20);
- if(vs_top-vs_base<1) too_few_arguments();
- if(vs_top-vs_base>2) too_many_arguments();
- vs_base=vs_base+1;
- if(vs_base>=vs_top){vs_top=sup;goto T228;}
- vs_top=sup;
- goto T229;
- T228:;
- base[1]= VV[8];
- T229:;
- base[4]= base[0];
- vs_top=(vs_base=base+4)+1;
- Lfloat();
- vs_top=sup;
- base[3]= vs_base[0];
- base[5]= base[1];
- vs_top=(vs_base=base+5)+1;
- Lfloat();
- vs_top=sup;
- base[4]= vs_base[0];
- vs_top=(vs_base=base+3)+2;
- Lceiling();
- Llist();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= car(base[2]);
- base[4]= cadr(base[2]);
- base[6]= base[3];
- base[7]= base[4];
- vs_top=(vs_base=base+6)+2;
- Lfloat();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= base[4];
- vs_base=base+5;vs_top=base+7;
- return;
- }
- /* function definition for FTRUNCATE */
-
- static L22()
- { register object *base=vs_base;
- register object *sup=base+VM21;
- vs_reserve(VM21);
- if(vs_top-vs_base<1) too_few_arguments();
- if(vs_top-vs_base>2) too_many_arguments();
- vs_base=vs_base+1;
- if(vs_base>=vs_top){vs_top=sup;goto T243;}
- vs_top=sup;
- goto T244;
- T243:;
- base[1]= VV[8];
- T244:;
- base[4]= base[0];
- vs_top=(vs_base=base+4)+1;
- Lfloat();
- vs_top=sup;
- base[3]= vs_base[0];
- base[5]= base[1];
- vs_top=(vs_base=base+5)+1;
- Lfloat();
- vs_top=sup;
- base[4]= vs_base[0];
- vs_top=(vs_base=base+3)+2;
- Ltruncate();
- Llist();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= car(base[2]);
- base[4]= cadr(base[2]);
- base[6]= base[3];
- base[7]= base[4];
- vs_top=(vs_base=base+6)+2;
- Lfloat();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= base[4];
- vs_base=base+5;vs_top=base+7;
- return;
- }
- /* function definition for FROUND */
-
- static L23()
- { register object *base=vs_base;
- register object *sup=base+VM22;
- vs_reserve(VM22);
- if(vs_top-vs_base<1) too_few_arguments();
- if(vs_top-vs_base>2) too_many_arguments();
- vs_base=vs_base+1;
- if(vs_base>=vs_top){vs_top=sup;goto T258;}
- vs_top=sup;
- goto T259;
- T258:;
- base[1]= VV[8];
- T259:;
- base[4]= base[0];
- vs_top=(vs_base=base+4)+1;
- Lfloat();
- vs_top=sup;
- base[3]= vs_base[0];
- base[5]= base[1];
- vs_top=(vs_base=base+5)+1;
- Lfloat();
- vs_top=sup;
- base[4]= vs_base[0];
- vs_top=(vs_base=base+3)+2;
- Lround();
- Llist();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= car(base[2]);
- base[4]= cadr(base[2]);
- base[6]= base[3];
- base[7]= base[4];
- vs_top=(vs_base=base+6)+2;
- Lfloat();
- vs_top=sup;
- base[5]= vs_base[0];
- base[6]= base[4];
- vs_base=base+5;vs_top=base+7;
- return;
- }
- /* function definition for LOGNAND */
-
- static L24()
- { register object *base=vs_base;
- register object *sup=base+VM23;
- vs_reserve(VM23);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[2]= VV[18];
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+2)+3;
- Lboole();
- return;
- }
- /* function definition for LOGNOR */
-
- static L25()
- { register object *base=vs_base;
- register object *sup=base+VM24;
- vs_reserve(VM24);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[2]= VV[19];
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+2)+3;
- Lboole();
- return;
- }
- /* function definition for LOGANDC1 */
-
- static L26()
- { register object *base=vs_base;
- register object *sup=base+VM25;
- vs_reserve(VM25);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[2]= VV[20];
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+2)+3;
- Lboole();
- return;
- }
- /* function definition for LOGANDC2 */
-
- static L27()
- { register object *base=vs_base;
- register object *sup=base+VM26;
- vs_reserve(VM26);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[2]= VV[6];
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+2)+3;
- Lboole();
- return;
- }
- /* function definition for LOGORC1 */
-
- static L28()
- { register object *base=vs_base;
- register object *sup=base+VM27;
- vs_reserve(VM27);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[2]= VV[21];
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+2)+3;
- Lboole();
- return;
- }
- /* function definition for LOGORC2 */
-
- static L29()
- { register object *base=vs_base;
- register object *sup=base+VM28;
- vs_reserve(VM28);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[2]= VV[22];
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+2)+3;
- Lboole();
- return;
- }
- /* function definition for LOGNOT */
-
- static L30()
- { register object *base=vs_base;
- register object *sup=base+VM29;
- vs_reserve(VM29);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[1]= VV[23];
- base[2]= base[0];
- vs_top=(vs_base=base+1)+2;
- Llogxor();
- return;
- }
- /* function definition for LOGTEST */
-
- static L31()
- { register object *base=vs_base;
- register object *sup=base+VM30;
- vs_reserve(VM30);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+3)+2;
- Llogand();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= (((number_compare(small_fixnum(0),base[2])==0?Ct:Cnil))==Cnil?Ct:Cnil);
- vs_top=(vs_base=base+3)+1;
- return;
- }
- /* function definition for BYTE */
-
- static L32()
- { register object *base=vs_base;
- register object *sup=base+VM31;
- vs_reserve(VM31);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[2]= make_cons(base[0],base[1]);
- vs_top=(vs_base=base+2)+1;
- return;
- }
- /* function definition for BYTE-SIZE */
-
- static L33()
- { register object *base=vs_base;
- register object *sup=base+VM32;
- vs_reserve(VM32);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[1]= car(base[0]);
- vs_top=(vs_base=base+1)+1;
- return;
- }
- /* function definition for BYTE-POSITION */
-
- static L34()
- { register object *base=vs_base;
- register object *sup=base+VM33;
- vs_reserve(VM33);
- check_arg(1);
- vs_top=sup;
- TTL:;
- base[1]= cdr(base[0]);
- vs_top=(vs_base=base+1)+1;
- return;
- }
- /* function definition for LDB */
-
- static L35()
- { register object *base=vs_base;
- register object *sup=base+VM34;
- vs_reserve(VM34);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[3]= base[1];
- base[6]= base[0];
- vs_top=(vs_base=base+6)+1;
- L34();
- vs_top=sup;
- base[5]= vs_base[0];
- base[4]= number_negate(base[5]);
- vs_top=(vs_base=base+3)+2;
- Lash();
- vs_top=sup;
- base[2]= vs_base[0];
- base[5]= VV[5];
- base[7]= base[0];
- vs_top=(vs_base=base+7)+1;
- L33();
- vs_top=sup;
- base[6]= vs_base[0];
- vs_top=(vs_base=base+5)+2;
- Lash();
- vs_top=sup;
- base[4]= vs_base[0];
- base[3]= number_negate(base[4]);
- vs_top=(vs_base=base+2)+2;
- L27();
- return;
- }
- /* function definition for LDB-TEST */
-
- static L36()
- { register object *base=vs_base;
- register object *sup=base+VM35;
- vs_reserve(VM35);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+3)+2;
- L35();
- vs_top=sup;
- base[2]= vs_base[0];
- base[3]= (((number_compare(small_fixnum(0),base[2])==0?Ct:Cnil))==Cnil?Ct:Cnil);
- vs_top=(vs_base=base+3)+1;
- return;
- }
- /* function definition for MASK-FIELD */
-
- static L37()
- { register object *base=vs_base;
- register object *sup=base+VM36;
- vs_reserve(VM36);
- check_arg(2);
- vs_top=sup;
- TTL:;
- base[3]= base[0];
- base[4]= base[1];
- vs_top=(vs_base=base+3)+2;
- L35();
- vs_top=sup;
- base[2]= vs_base[0];
- base[4]= base[0];
- vs_top=(vs_base=base+4)+1;
- L34();
- vs_top=sup;
- base[3]= vs_base[0];
- vs_top=(vs_base=base+2)+2;
- Lash();
- return;
- }
- /* function definition for DPB */
-
- static L38()
- { register object *base=vs_base;
- register object *sup=base+VM37;
- vs_reserve(VM37);
- check_arg(3);
- vs_top=sup;
- TTL:;
- base[3]= base[2];
- base[5]= base[1];
- base[6]= base[2];
- vs_top=(vs_base=base+5)+2;
- L37();
- vs_top=sup;
- base[4]= vs_base[0];
- base[7]= base[0];
- base[10]= VV[5];
- base[12]= base[1];
- vs_top=(vs_base=base+12)+1;
- L33();
- vs_top=sup;
- base[11]= vs_base[0];
- vs_top=(vs_base=base+10)+2;
- Lash();
- vs_top=sup;
- base[9]= vs_base[0];
- base[8]= number_negate(base[9]);
- vs_top=(vs_base=base+7)+2;
- L27();
- vs_top=sup;
- base[6]= vs_base[0];
- base[8]= base[1];
- vs_top=(vs_base=base+8)+1;
- L34();
- vs_top=sup;
- base[7]= vs_base[0];
- vs_top=(vs_base=base+6)+2;
- Lash();
- vs_top=sup;
- base[5]= vs_base[0];
- vs_top=(vs_base=base+3)+3;
- Llogxor();
- return;
- }
- /* function definition for DEPOSIT-FIELD */
-
- static L39()
- { register object *base=vs_base;
- register object *sup=base+VM38;
- vs_reserve(VM38);
- check_arg(3);
- vs_top=sup;
- TTL:;
- base[4]= base[0];
- base[7]= base[1];
- vs_top=(vs_base=base+7)+1;
- L34();
- vs_top=sup;
- base[6]= vs_base[0];
- base[5]= number_negate(base[6]);
- vs_top=(vs_base=base+4)+2;
- Lash();
- vs_top=sup;
- base[3]= vs_base[0];
- base[4]= base[1];
- base[5]= base[2];
- vs_top=(vs_base=base+3)+3;
- L38();
- return;
- }
-